package OperateurSystem;

/**
 * Interface definition : GestionColis
 * 
 * @author OpenORB Compiler
 */
public class GestionColisPOATie extends GestionColisPOA
{

    //
    // Private reference to implementation object
    //
    private GestionColisOperations _tie;

    //
    // Private reference to POA
    //
    private org.omg.PortableServer.POA _poa;

    /**
     * Constructor
     */
    public GestionColisPOATie(GestionColisOperations tieObject)
    {
        _tie = tieObject;
    }

    /**
     * Constructor
     */
    public GestionColisPOATie(GestionColisOperations tieObject, org.omg.PortableServer.POA poa)
    {
        _tie = tieObject;
        _poa = poa;
    }

    /**
     * Get the delegate
     */
    public GestionColisOperations _delegate()
    {
        return _tie;
    }

    /**
     * Set the delegate
     */
    public void _delegate(GestionColisOperations delegate_)
    {
        _tie = delegate_;
    }

    /**
     * _default_POA method
     */
    public org.omg.PortableServer.POA _default_POA()
    {
        if (_poa != null)
            return _poa;
        else
            return super._default_POA();
    }

    /**
     * Operation demanderSuiviColis
     */
    public String demanderSuiviColis(int idColis)
        throws OperateurSystem.GestionColisPackage.ColisInexistantException
    {
        return _tie.demanderSuiviColis( idColis);
    }

    /**
     * Operation accordLivraison
     */
    public int accordLivraison(int idFrs, int idColis)
        throws OperateurSystem.GestionColisPackage.ColisDejaTransporteException
    {
        return _tie.accordLivraison( idFrs,  idColis);
    }

    /**
     * Operation retirerColis
     */
    public void retirerColis(int codeRetraitUnique)
        throws OperateurSystem.GestionColisPackage.ColisInexistantException
    {
        _tie.retirerColis( codeRetraitUnique);
    }

    /**
     * Operation deposerColisA
     */
    public int deposerColisA(int adherentExp, int adherentDest)
        throws OperateurSystem.GestionColisPackage.ColisInexistantException
    {
        return _tie.deposerColisA( adherentExp,  adherentDest);
    }

    /**
     * Operation deposerColisF
     */
    public void deposerColisF(int idFrs, int idColis, int idStation)
        throws OperateurSystem.GestionColisPackage.MauvaiseStationException
    {
        _tie.deposerColisF( idFrs,  idColis,  idStation);
    }

    /**
     * Operation calculerPrix
     */
    public int calculerPrix(int adherentExp, int adherentDest)
        throws OperateurSystem.GestionColisPackage.DestinataireInexistantException, OperateurSystem.GestionColisPackage.ColisInexistantException
    {
        return _tie.calculerPrix( adherentExp,  adherentDest);
    }

}
